#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//int main()
//{
//	unsigned char a = 200;
//	unsigned char b = 100;
//	unsigned char c = 0;
//	c = a + b;
//	printf("%d %d", a + b, c);
//	return 0;
//}

//#include<stdio.h>
//int check_sys()
//{
//	int i = 1;
//	if (*(char*)&i == 1) {
//		return 1;
//	}
//	else {
//		return 0;
//	}
//}
//int main()
//{
//	int ret = check_sys();
//	if (ret == 1) {
//		printf("小端");
//	}
//	else {
//		printf("大端");
//	}
//	return 0;
//}

//#include<stdio.h>
//#include<stdlib.h>
//int my_atoi(const char* str)
//{
//	int ans = 0;
//	int ret = 1;
//	const char* s = str;
//	if (*s == '+') s++;
//	else if (*s == '-') s++, ret = -1;
//
//	while (*s)
//	{
//		if (*s >= '0' && *s <= '9') {
//			ans = ans * 10 + (*s - '0');
//			s++;
//		}
//		else {
//			break;
//		}
//	}
//	
//	return ans * ret;
//}
//int main()
//{
//	int ret = my_atoi("-12348");
//	printf("%d", ret);
//	return 0;
//}

//#include<stdio.h>
//int check_sys()
//{
//	int i = 1;
//	if (*(char*)&i == 1) {
//		return 1;
//	}
//	else {
//		return 0;
//	}
//}
//int main()
//{
//	int ret = check_sys();
//	if (ret == 1) {
//		printf("此机器是小端存储\n");
//	}
//	else {
//		printf("此机器是大端存储\n");
//	}
//	return 0;
//}

#include <stdio.h>
int main()
{
	int n = 9;
	// 00000000 00000000 00000000 00001001
	// 因为是正数，原、反、补相同
	float* pFloat = (float*)&n;
	printf("n的值为：%d\n", n);
	// 以整数的形式打印，就是9

	printf("*pFloat的值为：%f\n", *pFloat);
	// 以浮点数的形式打印，所以要以浮点数的形式进行划分
	// 0 00000000 00000000000000000001001
	// E为全0，所以结果是无穷接近0，%f只能打印小数点后6位
	// 结果为0.000000

	*pFloat = 9.0;
	// 1001.0
	// 科学计数法表示为1.001*2^3 , S = 0,E = 3（3+127=130）,M = 1.001（001）
	// 以浮点数的形式存储：0 10000010 00100000000000000000000
	// 以整数的形式存储：01000001 00010000 00000000 00000000
	printf("num的值为：%d\n", n);
	// 打印的结果为1091567616

	printf("*pFloat的值为：%f\n", *pFloat);
	// 打印的结果为9.000000

	return 0;
}